Ein Formular (engl. form) ist ein Hintergrund für Steuerlemente. Ein Formular ohne Steuerelemente heisst Formularrahmen. Formulare können vor- oder benutzerdefiniert sein. Zwei häufig vorkommende Arten vordefinierter Formulare (auch Dialogfelder genannt) sind Ausgabe- und Eingabefelder. Das Steuerelement Ausgabefeld besteht seinerseits aus den Steuerelementen ...
Titelleiste
Bezeichnungsfeld und
Schaltfläche.
Das folgende Ausgabefeld erscheint nach dem VBA-Befehl ...
MsgBox Prompt := “Dateien schliessen”, Title := “Dateien”.
![]()
Dateien schliessen ist das Bezeichnungsfeld, Dateien die Titelleiste und OK die Schaltfläche (engl. button). Das nächste Bild zeigt ein Eingabefeld. Im Gegensatz zum Ausgabefeld kann der Anwender den Feldinhalt ändern. Den änderbaren (weissen) Teil nennt man Textfeld. Das folgende Eingabefeld erscheint nach dem Befehl ...
Länge = InputBox(Prompt:=“Länge eingeben”,Title:=“Länge”):
Die Argumente der Anweisungen MsgBox und InputBox heissen benannte Argumente, weil vor jedem Argumentwert ein erklärender Name wie Prompt steht. Im Aufruf Quadrat "Ausgabeblatt", 200, 100, 100 sind die Argumente Tabellenblatt, X-Koordinate, Y-Koordinate und Seitenlänge hingegen Positionsargumente. Ihre Bedeutung geht nicht aus einem erklärenden Bezeichner, sondern nur aus ihrer relativen Position hervor. Die beiden folgenden Beispiele illustrieren die Vor- und Nachteile benannter Argumente:
MsgBox “Schliessen”, 0, “Dateien”
MsgBox Prompt := “Schliessen”, Title := “Dateien”.
Der erste Aufruf verwendet Positionsargumente, der zweite benannte Argumente. Diese verkürzen einen Aufruf oft, weil nur die nötigen Argumente benannt angegeben werden müssen. Ausserdem verbessern sie die Leserlichkeit und können in beliebiger Reihenfolge in der Argumenteliste erscheinen.
Wenn der Programmierer ein Argument weglässt, dann gelten die Voreinstellungen. Enthält der Aufruf von MsgBox zum Beispiel keinen Titel, dann setzt VBA als Voreinstellung eine leere Titelleiste. Die folgende Tabelle nennt die Namen und Voreinstellungen (engl. defaults) von MsgBox. Die Reihenfolge der fünf Argumente ist vorgeschrieben, falls der Programmierer Positions- statt benannte Argumente wählt.
|
Name |
Bedeutung |
Voreinstellung |
|
Prompt |
Meldungstext |
|
|
Buttons |
Zahl und Art der Schaltflächen |
0 |
|
Title |
Titelleiste |
|
|
Helpfile |
zusammen mit context |
weglassen |
|
Context |
zusammen mit helpfile |
weglassen |
MsgBox und InputBox illustrieren nicht nur den Unterschied zwischen Positions- und benannten Argumenten, sondern veranschaulichen auch die (wenig intuitive) Klammerregel für Argumente von Unterprogrammen. Die zwei Argumente im folgenden Aufruf dürfen zum Beispiel nicht zwischen Klammern stehen:
MsgBox Prompt := “Dateien schliessen”, Title := “Dateien”.
Die Argumente der folgenden Anweisung verlangen hingegen Klammern:
Länge = InputBox(Prompt:=“Länge: ”, Title:=“Länge”).
Im Unterschied zum ersten Aufruf verwendet nämlich der zweite Aufruf den Rückgabewert der Funktion InputBox.
Nur Aufrufe mit Rückgabewerten verwenden Klammern. Diese Regel gilt nur für Visual Basic. Die meisten anderen Programmiersprachen setzen Argumente immer in Klammern.